<template>
	<Layout :pagebg="2" class-name="scan">
    <view class="title">{{detail.title}}</view>
    <swiper v-if="params.type_id == 1" class="banner" @change="change">
    	<swiper-item v-for="(item, key) in detail.images_desc" :key="key">
    		<image :src="item" mode="aspectFill" class="img"></image>
    	</swiper-item>
    </swiper>
    <video v-else-if="params.type_id == 2" :src="detail.video_desc" class="video-box"></video>
    <view v-else-if="params.type_id == 3" class="content">
      <u-parse :html="detail.content"></u-parse>
    </view>
  </Layout>
</template>

<script>
	export default {
		data() {
			return {
				detail:null,
        params:null
			}
		},
    onLoad(e){
      this.params = decodeURIComponent(e.scene)
      // this.params = {type_id: 1, id: 5}; // 1- 图
      // this.params = {type_id: 2, id: 7}; // 2- 视频
      // this.params = {type_id: 3, id: 6}; // 3- 图文

      this.getCon()
      
    },
    watch:{
      loading(n,o){
        if(this.loading > 1){
          uni.hideLoading()
        }else{
          uni.showLoading()
        }
      }
    },
		methods: {
      getCon(){
        this.$api.getScanInfoApi(this.params).then(res=>{
          this.detail = res.data;
        })
      },
      // 获取扫码获取的参数
      parseQueryParams(queryStr) {
        const params = {};
        if (!queryStr || typeof queryStr !== 'string') {
          return params; // 空字符串或非字符串直接返回空对象
        }
      
        // 分割参数对（如 ["type_id=2", "id=7"]）
        const paramPairs = queryStr.split('&');
        
        paramPairs.forEach(pair => {
          // 分割键和值（如 "type_id=2" → ["type_id", "2"]）
          const [key, value] = pair.split('=');
          if (key) {
            // 处理值可能为undefined的情况（如参数为"type_id="时）
            params[key] = value !== undefined ? decodeURIComponent(value) : '';
          }
        });
      
        return params;
      }
		},
    onPageScroll(e) {
      getApp().setNavFixed(this,e)
    },
    onReachBottom() {
    	if(!this.traveData.isLast){
        this.getList1()
      }
      if(!this.matchData.isLast){
        this.getList2()
      }
      if(!this.shop.isLast){
        this.getList3()
      }
    }
	}
</script>
<style>
page{background-color: #fff;}
</style>
<style lang="scss" scoped>
.title{font-size: 30rpx; display: flex; align-items: center; padding-top: 20rpx; justify-content: center; height: 200rpx; box-sizing: border-box;}
.banner{
  height: calc(100vh - 200rpx);
  .img{width: 100%; height: 100%; display: block;}
}
.video-box{width: 100%; height: calc(100vh - 200rpx); object-fit: contain}
.content{padding: 0 30rpx;}
</style>
